﻿//-----------------------------------------------------------------------------------------------
// <copyright file="TransactionHelper.cs" company="VSSD" author="VSSD-KT" initializationUser="TriDM">
//     Copyright © VietNam Securities Software Development (VSSD) 2009.  All rights reserved.
// </copyright>
//-----------------------------------------------------------------------------------------------

namespace Lapas.Common
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// TransactionHelper class
    /// </summary>
    public partial class TransactionHelper
    {
        /// <summary>
        /// Hàm trả ra số lượng lớn nhất có thể đặt lệnh
        /// </summary>
        /// <param name="amount">số tiền đặt lệnh</param>
        /// <param name="feeRate">tỉ lệ phí cao nhất của khách hàng</param>
        /// <param name="price">giá của chứng khoán</param>
        /// <param name="lot">lô của chứng khoán</param>
        /// <returns>trả ra kết quả số lượng lớn nhất có thể đặt lệnh</returns>
        public static long GetMaxQuantity(decimal amount, decimal feeRate, decimal price, int lot)
        {
            if (price <= 0)
            {
                return 0;
            }

            if (amount <= 0)
            {
                return 0;
            }

            if (feeRate < 0)
            {
                return 0;
            }

            long maxQuantity =  Convert.ToInt64(Math.Floor(amount / ((1 + feeRate) * price)));
            if (lot > 0)
            {
                maxQuantity = maxQuantity - (maxQuantity % lot);
            }

            return maxQuantity;
        }
    }
}
